home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / shmem_iget.z / shmem_iget
Encoding:
Text File  |  2002-10-03  |  17.3 KB  |  172 lines

  1.  
  2. SHMEM_IGET(3)                                                 SHMEM_IGET(3)
  3.  
  4.  
  5. NNNNAAAAMMMMEEEE
  6.      sssshhhhmmmmeeeemmmm____ccccoooommmmpppplllleeeexxxx____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt4444,
  7.      sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt8888, sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt33332222, sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt66664444, sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt111122228888,
  8.      sssshhhhmmmmeeeemmmm____iiiinnnntttt____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____iiiinnnntttteeeeggggeeeerrrr____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____llllooooggggiiiiccccaaaallll____iiiiggggeeeetttt,
  9.      sssshhhhmmmmeeeemmmm____lllloooonnnngggg____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____iiiiggggeeeetttt,
  10.      sssshhhhmmmmeeeemmmm____rrrreeeeaaaallll____iiiiggggeeeetttt, sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____iiiiggggeeeetttt - Transfers strided data from a
  11.      specified processing element (PE)
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      C or C++:
  15.  
  16.         ####iiiinnnncccclllluuuuddddeeee <<<<mmmmpppppppp////sssshhhhmmmmeeeemmmm....hhhh>>>>
  17.  
  18.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____iiiiggggeeeetttt((((ddddoooouuuubbbblllleeee ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt ddddoooouuuubbbblllleeee ****_s_o_u_r_c_e,,,,
  19.         ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  20.  
  21.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____iiiiggggeeeetttt((((ffffllllooooaaaatttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt ffffllllooooaaaatttt ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt
  22.         _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  23.  
  24.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt33332222((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,,
  25.         ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  26.  
  27.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt66664444((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,,
  28.         ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  29.  
  30.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt111122228888((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,,
  31.         ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  32.  
  33.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____iiiinnnntttt____iiiiggggeeeetttt((((iiiinnnntttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt iiiinnnntttt ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,,
  34.         ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  35.  
  36.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnngggg____iiiiggggeeeetttt((((lllloooonnnngggg ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt
  37.         _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  38.  
  39.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____iiiiggggeeeetttt((((lllloooonnnngggg ddddoooouuuubbbblllleeee ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg ddddoooouuuubbbblllleeee
  40.         ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  41.  
  42.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____iiiiggggeeeetttt((((lllloooonnnngggg lllloooonnnngggg ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg lllloooonnnngggg
  43.         ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  44.  
  45.         vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____iiiiggggeeeetttt((((sssshhhhoooorrrrtttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt sssshhhhoooorrrrtttt ****_s_o_u_r_c_e,,,, ppppttttrrrrddddiiiiffffffff____tttt
  46.         _t_s_t,,,, ppppttttrrrrddddiiiiffffffff____tttt _s_s_t,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;;
  47.  
  48.      Fortran:
  49.  
  50.         IIIINNNNTTTTEEEEGGGGEEEERRRR _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e
  51.  
  52.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____CCCCOOOOMMMMPPPPLLLLEEEEXXXX____IIIIGGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e))))
  53.  
  54.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____DDDDOOOOUUUUBBBBLLLLEEEE____IIIIGGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e))))
  55.  
  56.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIIGGGGEEEETTTT4444((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e))))
  57.  
  58.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIIGGGGEEEETTTT8888((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e))))
  59.  
  60.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIIGGGGEEEETTTT33332222((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e))))
  61.  
  62.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIIGGGGEEEETTTT66664444((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e))))
  63.  
  64.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIIGGGGEEEETTTT111122228888((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e))))
  65.  
  66.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIINNNNTTTTEEEEGGGGEEEERRRR____IIIIGGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e))))
  67.  
  68.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____LLLLOOOOGGGGIIIICCCCAAAALLLL____IIIIGGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e))))
  69.  
  70.         CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____RRRREEEEAAAALLLL____IIIIGGGGEEEETTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _t_s_t,,,, _s_s_t,,,, _l_e_n,,,, _p_e))))
  71.  
  72. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  73.      The iiiiggggeeeetttt routines provide a high-performance method for copying a
  74.      strided array from the a specified remote PE to a local strided array.
  75.      The routines return when the data has been copied into the local
  76.      _t_a_r_g_e_t array.
  77.  
  78.      The arguments are as follows:
  79.  
  80.      _t_a_r_g_e_t    Array to be updated on the local PE.
  81.  
  82.      _s_o_u_r_c_e    Array containing the data to be copied on the remote PE.
  83.  
  84.      _t_s_t       The stride between consecutive elements of the _t_a_r_g_e_t array.
  85.                The stride is scaled by the element size of the _t_a_r_g_e_t
  86.                array.  A value of 1 indicates contiguous data.  _t_s_t must be
  87.                of type integer.  If you are calling from Fortran, it must
  88.                be a default integer value.
  89.  
  90.      _s_s_t       The stride between consecutive elements of the _s_o_u_r_c_e array.
  91.                The stride is scaled by the element size of the _s_o_u_r_c_e
  92.                array.  A value of 1 indicates contiguous data.  _s_s_t must be
  93.                of type integer.  If you are calling from Fortran, it must
  94.                be a default integer value.
  95.  
  96.      _l_e_n       Number of elements in the _t_a_r_g_e_t and _s_o_u_r_c_e arrays.  _l_e_n
  97.                must be of type integer.  If you are using Fortran, it must
  98.                be a constant, variable, or array element of default integer
  99.                type.
  100.  
  101.      _p_e        PE number of the remote PE.  _p_e must be of type integer.  If
  102.                you are using Fortran, it must be a constant, variable, or
  103.                array element of default integer type.
  104.  
  105.      The _t_a_r_g_e_t and _s_o_u_r_c_e data objects must conform to typing constraints,
  106.      which are as follows:
  107.  
  108.      RRRRoooouuuuttttiiiinnnneeee                       DDDDaaaattttaaaa TTTTyyyyppppeeee ooooffff _t_a_r_g_e_t aaaannnndddd _s_o_u_r_c_e
  109.  
  110.      sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt33332222, sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt4444     Any noncharacter type that has a storage
  111.                                    size equal to 32 bits.
  112.  
  113.      sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt66664444, sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt8888     Any noncharacter type that has a storage
  114.                                    size equal to 64 bits.
  115.  
  116.      sssshhhhmmmmeeeemmmm____iiiiggggeeeetttt111122228888                 Any noncharacter type that has a storage
  117.                                    size equal to 128 bits.
  118.  
  119.      sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____iiiiggggeeeetttt              Elements of type short.
  120.  
  121.      sssshhhhmmmmeeeemmmm____iiiinnnntttt____iiiiggggeeeetttt                Elements of type int.
  122.  
  123.      sssshhhhmmmmeeeemmmm____lllloooonnnngggg____iiiiggggeeeetttt               Elements of type long.
  124.  
  125.      sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____iiiiggggeeeetttt           Elements of type long long.
  126.  
  127.      sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____iiiiggggeeeetttt              Elements of type float.
  128.  
  129.      sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____iiiiggggeeeetttt             Elements of type double.
  130.  
  131.      sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____iiiiggggeeeetttt         Elements of type long double.
  132.  
  133.      SSSSHHHHMMMMEEEEMMMM____CCCCOOOOMMMMPPPPLLLLEEEEXXXX____IIIIGGGGEEEETTTT            Elements of type complex of default
  134.                                    size.
  135.  
  136.      SSSSHHHHMMMMEEEEMMMM____DDDDOOOOUUUUBBBBLLLLEEEE____IIIIGGGGEEEETTTT (Fortran)   Elements of type double precision.
  137.  
  138.      SSSSHHHHMMMMEEEEMMMM____IIIINNNNTTTTEEEEGGGGEEEERRRR____IIIIGGGGEEEETTTT            Elements of type integer.
  139.  
  140.      SSSSHHHHMMMMEEEEMMMM____LLLLOOOOGGGGIIIICCCCAAAALLLL____IIIIGGGGEEEETTTT            Elements of type logical.
  141.  
  142.      SSSSHHHHMMMMEEEEMMMM____RRRREEEEAAAALLLL____IIIIGGGGEEEETTTT               Elements of type real.
  143.  
  144.      If you are using Fortran, data types must be of default size.  For
  145.      example, a real variable must be declared as RRRREEEEAAAALLLL, RRRREEEEAAAALLLL****4444, or
  146.      RRRREEEEAAAALLLL((((KKKKIIIINNNNDDDD====4444)))).
  147.  
  148. NNNNOOOOTTTTEEEESSSS
  149.      See iiiinnnnttttrrrroooo____sssshhhhmmmmeeeemmmm(3) for a definition of the term _r_e_m_o_t_e_l_y _a_c_c_e_s_s_i_b_l_e.
  150.  
  151. EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
  152.      The following simple example uses sssshhhhmmmmeeeemmmm____llllooooggggiiiiccccaaaallll____iiiiggggeeeetttt in a Fortran
  153.      program.  Compile this example with the ----llllssssmmmmaaaa compiler option.
  154.  
  155.           PROGRAM STRIDELOGICAL
  156.           LOGICAL SOURCE(10), TARGET(5)
  157.           SAVE SOURCE   ! SAVE MAKES IT REMOTELY ACCESSIBLE
  158.           DATA SOURCE /.T.,.F.,.T.,.F.,.T.,.F.,.T.,.F.,.T.,.F./
  159.           DATA TARGET / 5*.F. /
  160.           CALL START_PES(2)
  161.           IF (MY_PE() .EQ. 0) THEN
  162.              CALL SHMEM_LOGICAL_IGET(TARGET, SOURCE, 1, 2, 5, 1)
  163.              PRINT*,'TARGET AFTER SHMEM_LOGICAL_IGET:',TARGET
  164.           ENDIF
  165.           CALL SHMEM_BARRIER_ALL
  166.           END
  167.  
  168. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  169.      iiiinnnnttttrrrroooo____sssshhhhmmmmeeeemmmm(3), sssshhhhmmmmeeeemmmm____ggggeeeetttt(3), sssshhhhmmmmeeeemmmm____iiiixxxxggggeeeetttt(3), sssshhhhmmmmeeeemmmm____qqqquuuuiiiieeeetttt(3)
  170.  
  171.      _M_e_s_s_a_g_e _P_a_s_s_i_n_g _T_o_o_l_k_i_t: _M_P_I _P_r_o_g_r_a_m_m_e_r'_s _M_a_n_u_a_l
  172.